<?php

/**
 * table可以用于多进程之间共享数据
 * Table的内存容量不受PHP的memory_limit控制
 */

// 创建一个内存为512kb的table, 内存大小是2的n次方
$table = new swoole_table(512);

//Table::TYPE_INT默认为4个字节，可以设置1，2，4，8一共4种长度
//Table::TYPE_STRING设置后，设置的字符串不能超过此长度
//Table::TYPE_FLOAT会占用8个字节的内存

// 内存表增加一列
$table->column('id', $table::TYPE_INT);
$table->column('name', $table::TYPE_STRING, 30); // string类型必须指定长度
$table->column('age', $table::TYPE_INT, 1);
// 创建表
$table->create();
// 插入内容
$table->set('student000', ['id' => 1, 'name' => '张三', 'age' => 16]);
$table['student001'] = ['id' => 2, 'name' => '李四', 'age' => 15];

// 获取内存
$res1 = $table->get('student000');
$res2 = $table['student001'];
$res3 = $table->get('student001');
var_dump($res1);
var_dump($res2);
var_dump($res3);
// 字段操作
$table->incr('student001', 'age', 1);
$res = $table->get('student001');
var_dump($res);



// 程序执行完table自动释放